package com.project.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.bean.RoleBean;
import com.project.util.InfoResult;

import java.util.List;

/**
 * @author lyl
 * description:角色业务接口
 */

public interface IRoleService {

    /**
     * 分页展示角色
     *
     * @param pageNum
     * @return
     */
    Page<RoleBean> showRoleByPage(int pageNum);

    /**
     * 根据id展示角色以及其权限
     *
     * @param roleId
     * @return
     */
    RoleBean showRoleById(int roleId);

    /**
     * 添加新的角色（同时更新其下的权限
     *
     * @param roleName
     * @param levels
     * @return
     */
    InfoResult addRole(String roleName, int[] levels);

    /**
     * 根据id删除对应角色，并清空其对应的权限
     *
     * @param roleId
     * @return
     */
    InfoResult delRoleById(int roleId);

    /**
     * 根据id修改其角色权限
     *
     * @param roleId
     * @param levels
     * @return
     */
    InfoResult updateRoleById(int roleId, int[] levels);

    List<RoleBean> showAll();
}
